]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
allView: Ensure event blocker is reactive before popup is open
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Mon, 11 Nov 2019 16:10:53 +0000 (13:10 -0300)
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Mon, 11 Nov 2019 16:59:45 +0000 (16:59 +0000)
The event blocker in AllView is responsible for stealing click events
from the icon grid and closing the folder popup. The event blocker is
kept unreactive when no folder popup is visible, and it's made reactive
as a response to the 'open-state-changed' signal.

Using this signal, though, is problematic. When opening an app folder,
the icon grid first opens space for the folder to fit in; during this
period, it's possible to click on another folder icon, and break the
icon grid state.

Make sure the event blocker is reactive immediately after clicking on
a folder icon.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1470

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/816

js/ui/appDisplay.js

index f9706aa2ebe19bf29f37ad460513de9113cb9b33..51d108b0c2562f570700d2ad5e8ccc57cb9e3b68 100644 (file)
@@ -600,6 +600,7 @@ var AllView = GObject.registerClass({
     openSpaceForPopup(item, side, nRows) {
         this._updateIconOpacities(true);
         this._displayingPopup = true;
+        this._eventBlocker.reactive = true;
         this._grid.openExtraSpace(item, side, nRows);
     }